@@ -1,7 +1,40 @@ |
||
1 | 1 |
angular.module('codexApp') |
2 | 2 |
.service('FileService', [ '$rootScope', '$http', 'ThumbnailService', '$state', function($rootScope, $http, ThumbnailService, $state) { |
3 | 3 |
|
4 |
- var notes_dir = "/Users/james/dev/codex/codex"; |
|
4 |
+ var getAppData = function(){ |
|
5 |
+ var remote = require('remote'); |
|
6 |
+ var app = remote.require('app'); |
|
7 |
+ var appDataPath = app.getPath("userData"); |
|
8 |
+ var defaultUserContentPath = app.getPath("home") + "/Documents"; |
|
9 |
+ findOrGenerateUserDataFile(appDataPath, defaultUserContentPath); |
|
10 |
+ var raw_data = fs.readFileSync(appDataPath + '/userData.json', 'utf8'); |
|
11 |
+ var data = JSON.parse(raw_data); |
|
12 |
+ console.log(data); |
|
13 |
+ return data |
|
14 |
+ } |
|
15 |
+ |
|
16 |
+ var findOrGenerateUserDataFile = function(path, defaultUserContentPath) { |
|
17 |
+ var generate_settings = true; |
|
18 |
+ fs = require('fs') |
|
19 |
+ fs.readdirSync(path).forEach(function(file) { |
|
20 |
+ if(file == "UserData.json"){ |
|
21 |
+ console.log("-> Loading Settings"); |
|
22 |
+ generate_settings = false; |
|
23 |
+ } |
|
24 |
+ }); |
|
25 |
+ if (generate_settings){ |
|
26 |
+ // Generate file |
|
27 |
+ file_path = path + "/UserData.json"; |
|
28 |
+ console.log("-> Generating user settings file: '" + file_path + "'"); |
|
29 |
+ var content = '{ "UserDataDirectory" : "' + defaultUserContentPath +'" }'; |
|
30 |
+ fs.writeFileSync(file_path, content, 'utf8'); |
|
31 |
+ return true; |
|
32 |
+ } |
|
33 |
+ } |
|
34 |
+ |
|
35 |
+ var appData = getAppData(); |
|
36 |
+ |
|
37 |
+ var notes_dir = appData.UserDataDirectory; |
|
5 | 38 |
var default_notes_dir = "/Users/james/dev/codex/codex/inbox"; |
6 | 39 |
var default_home_note = "/Users/james/dev/codex/codex/index.md" |
7 | 40 |
var notes = []; |
@@ -2,39 +2,40 @@ angular.module('codexApp') |
||
2 | 2 |
.service('ThumbnailService', [ '$rootScope', '$http', function($rootScope, $http) { |
3 | 3 |
|
4 | 4 |
var createThumbnail = function(file_path) { |
5 |
- //console.log("-> Creating Thumbnail for " + file_path); |
|
6 |
- var webshot = require('webshot'); |
|
7 |
- var fs = require('fs'); |
|
8 |
- var marked = require('marked'); |
|
9 | 5 |
|
10 |
- var options = { |
|
11 |
- screenSize: { |
|
12 |
- width: 220 |
|
13 |
- , height: 170 |
|
14 |
- } |
|
15 |
- , shotSize: { |
|
16 |
- width: 220 |
|
17 |
- , height: '170' |
|
18 |
- } |
|
19 |
- , userAgent: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_2 like Mac OS X; en-us)' |
|
20 |
- + ' AppleWebKit/531.21.20 (KHTML, like Gecko) Mobile/7B298g' |
|
21 |
- , siteType:'html' |
|
22 |
- }; |
|
23 |
- |
|
24 |
- var data = fs.readFileSync(file_path); |
|
25 |
- var page_data = String.fromCharCode.apply(null, data); |
|
26 |
- |
|
27 |
- var thumbnail_path = getThumbnailName(file_path); |
|
28 |
- var page = '<html><head><style>body {width: 210px;} body, h1, h2, h3, h4, h5, p, span, table, code, ul, ol { font-family: helvetica; overflow-wrap: break-word; font-weight: 300; } p, ul, ol, code { font-size: 11px;} h1 {font-size: 16px;} h2 {font-size: 14px;} h3 { font-size: 12px; font-weight: 400} code { font-family: monospace; }</style></head><body>' + marked(page_data); + '</body></html>'; |
|
29 |
- var renderStream = webshot(page, thumbnail_path, options, function(err) { |
|
30 |
- // screenshot now saved to hello_world.png |
|
31 |
- }); |
|
32 |
- //var file = fs.createWriteStream('google.png', {encoding: 'binary'}); |
|
33 |
- |
|
34 |
- |
|
35 |
- |
|
36 |
- console.log("-> Created thumbnail " + thumbnail_path); |
|
37 |
- return thumbnail_path; |
|
6 |
+ // //console.log("-> Creating Thumbnail for " + file_path); |
|
7 |
+ // var webshot = require('webshot'); |
|
8 |
+ // var fs = require('fs'); |
|
9 |
+ // var marked = require('marked'); |
|
10 |
+ // |
|
11 |
+ // var options = { |
|
12 |
+ // screenSize: { |
|
13 |
+ // width: 220 |
|
14 |
+ // , height: 170 |
|
15 |
+ // } |
|
16 |
+ // , shotSize: { |
|
17 |
+ // width: 220 |
|
18 |
+ // , height: '170' |
|
19 |
+ // } |
|
20 |
+ // , userAgent: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_2 like Mac OS X; en-us)' |
|
21 |
+ // + ' AppleWebKit/531.21.20 (KHTML, like Gecko) Mobile/7B298g' |
|
22 |
+ // , siteType:'html' |
|
23 |
+ // }; |
|
24 |
+ // |
|
25 |
+ // var data = fs.readFileSync(file_path); |
|
26 |
+ // var page_data = String.fromCharCode.apply(null, data); |
|
27 |
+ // |
|
28 |
+ // var thumbnail_path = getThumbnailName(file_path); |
|
29 |
+ // var page = '<html><head><style>body {width: 210px;} body, h1, h2, h3, h4, h5, p, span, table, code, ul, ol { font-family: helvetica; overflow-wrap: break-word; font-weight: 300; } p, ul, ol, code { font-size: 11px;} h1 {font-size: 16px;} h2 {font-size: 14px;} h3 { font-size: 12px; font-weight: 400} code { font-family: monospace; }</style></head><body>' + marked(page_data); + '</body></html>'; |
|
30 |
+ // var renderStream = webshot(page, thumbnail_path, options, function(err) { |
|
31 |
+ // // screenshot now saved to hello_world.png |
|
32 |
+ // }); |
|
33 |
+ // //var file = fs.createWriteStream('google.png', {encoding: 'binary'}); |
|
34 |
+ // |
|
35 |
+ // |
|
36 |
+ // |
|
37 |
+ // console.log("-> Created thumbnail " + thumbnail_path); |
|
38 |
+ // return thumbnail_path; |
|
38 | 39 |
} |
39 | 40 |
|
40 | 41 |
var getThumbnailName = function(file_path) { |
@@ -10,6 +10,7 @@ Links, snipets and references for the Codex App. |
||
10 | 10 |
* [Wavesurfer.js](http://wavesurfer-js.org/) - Web Audio Waveform Visualizer |
11 | 11 |
* [Cheerio](https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server |
12 | 12 |
* [angular-inview](https://github.com/thenikso/angular-inview) - AngularJS directive to check if a DOM element is in the browser viewport. |
13 |
+* [ShareJS](https://github.com/share/ShareJS) - Collaborative editing in any app |
|
13 | 14 |
|
14 | 15 |
## Reading |
15 | 16 |
|
@@ -13,4 +13,10 @@ |
||
13 | 13 |
* [Todo's](dev/codex-app/todos.md) |
14 | 14 |
* [Notes](dev/codex-app/notes.md) |
15 | 15 |
* [Highlight JS](dev/codex-app/highlightjs.md) |
16 |
-* [Encryption](dev/codex-app/Encryption.md) |
|
16 |
+* [Encryption](dev/codex-app/Encryption.md) |
|
17 |
+ |
|
18 |
+## Trip |
|
19 |
+ |
|
20 |
+* [Planning](Notes/Trip 2016/planning.md) ⭐ |
|
21 |
+* [Job Search](Notes/Job Search/index.md) |
|
22 |
+* [J1X Server](inbox/j1x-server.md) |
@@ -151,6 +151,11 @@ code.hljs .hljs-title { |
||
151 | 151 |
margin-right: 6px; |
152 | 152 |
} |
153 | 153 |
|
154 |
+.hljs-number, .hljs-preprocessor, .hljs-pragma, .hljs-built_in, .hljs-literal, .hljs-params, .hljs-constant { |
|
155 |
+ padding-left: 7px; |
|
156 |
+ padding-right: 7px; |
|
157 |
+} |
|
158 |
+ |
|
154 | 159 |
.icon-tabs { |
155 | 160 |
margin: 0px; |
156 | 161 |
margin-left: -34px; |